home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / C / Applications / Tcl-Tk 8.0 / Pre-installed version / tcl8.0 / tests / clock.test < prev    next >
Encoding:
Text File  |  1997-08-15  |  5.5 KB  |  148 lines  |  [TEXT/ALFA]

  1. # Commands covered:  clock
  2. #
  3. # This file contains a collection of tests for one or more of the Tcl
  4. # built-in commands.  Sourcing this file into Tcl runs the tests and
  5. # generates output for errors.  No output means no errors were found.
  6. #
  7. # Copyright (c) 1995-1997 Sun Microsystems, Inc.
  8. #
  9. # See the file "license.terms" for information on usage and redistribution
  10. # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  11. #
  12. # SCCS: @(#) clock.test 1.14 97/06/02 10:18:12
  13.  
  14. if {[string compare test [info procs test]] == 1} then {source defs}
  15.  
  16. test clock-1.1 {clock tests} {
  17.     list [catch {clock} msg] $msg
  18. } {1 {wrong # args: should be "clock option ?arg ...?"}}
  19. test clock-1.2 {clock tests} {
  20.     list [catch {clock foo} msg] $msg
  21. } {1 {bad option "foo": must be clicks, format, scan, or seconds}}
  22.  
  23. # clock clicks
  24. test clock-2.1 {clock clicks tests} {
  25.     expr [clock clicks]+1
  26.     concat {}
  27. } {}
  28. test clock-2.2 {clock clicks tests} {
  29.     list [catch {clock clicks foo} msg] $msg
  30. } {1 {wrong # args: should be "clock clicks"}}
  31. test clock-2.3 {clock clicks tests} {
  32.     set start [clock clicks]
  33.     after 10
  34.     set end [clock clicks]
  35.     expr "$end > $start"
  36. } {1}
  37.  
  38. # clock format
  39. test clock-3.1 {clock format tests} {unixOnly} {
  40.     set clockval 657687766
  41.     clock format $clockval -format {%a %b %d %I:%M:%S %p %Y} -gmt true
  42. } {Sun Nov 04 03:02:46 AM 1990}
  43. test clock-3.2 {clock format tests} {
  44.     list [catch {clock format} msg] $msg
  45. } {1 {wrong # args: should be "clock format clockval ?-format string? ?-gmt boolean?"}}
  46. test clock-3.3 {clock format tests} {
  47.     list [catch {clock format foo} msg] $msg
  48. } {1 {expected integer but got "foo"}}
  49. test clock-3.4 {clock format tests} {unixOrPc} {
  50.     set clockval 657687766
  51.     clock format $clockval -format "%a %b %d %I:%M:%S %p %Y" -gmt true
  52. } "Sun Nov 04 03:02:46 AM 1990"
  53. test clock-3.5 {clock format tests} {
  54.     list [catch {clock format a b c d e g} msg] $msg
  55. } {1 {wrong # args: should be "clock format clockval ?-format string? ?-gmt boolean?"}}
  56. test clock-3.6 {clock format tests} {unixOrPc nonPortable} {
  57.     set clockval -1
  58.     clock format $clockval -format "%a %b %d %I:%M:%S %p %Y" -gmt true
  59. } "Wed Dec 31 11:59:59 PM 1969"
  60. test clock-3.7 {clock format tests} {
  61.     list [catch {clock format 123 -bad arg} msg] $msg
  62. } {1 {bad switch "-bad": must be -format, or -gmt}}
  63. test clock-3.8 {clock format tests} {
  64.     clock format 123 -format "x"
  65. } x
  66. test clock-3.9 {clock format tests} {
  67.     clock format 123 -format ""
  68. } ""
  69.  
  70. # clock scan
  71. test clock-4.1 {clock scan tests} {
  72.     list [catch {clock scan} msg] $msg
  73. } {1 {wrong # args: should be "clock scan dateString ?-base clockValue? ?-gmt boolean?"}}
  74. test clock-4.2 {clock scan tests} {
  75.     list [catch {clock scan "bad-string"} msg] $msg
  76. } {1 {unable to convert date-time string "bad-string"}}
  77. test clock-4.3 {clock scan tests} {
  78.     clock format [clock scan "14 Feb 92" -gmt true] \
  79.       -format {%m/%d/%y %I:%M:%S %p} -gmt true
  80. } {02/14/92 12:00:00 AM}
  81. test clock-4.4 {clock scan tests} {
  82.     clock format [clock scan "Feb 14, 1992 12:20 PM" -gmt true] \
  83.       -format {%m/%d/%y %I:%M:%S %p} -gmt true
  84. } {02/14/92 12:20:00 PM}
  85. test clock-4.5 {clock scan tests} {
  86.     clock format \
  87.       [clock scan "Feb 14, 1992 12:20 PM" -base 319363200 -gmt true] \
  88.       -format {%m/%d/%y %I:%M:%S %p} -gmt true
  89. } {02/14/92 12:20:00 PM}
  90. test clock-4.6 {clock scan tests} {
  91.     set time [clock scan "Oct 23,1992 15:00"]
  92.     clock format $time -format {%b %d,%Y %H:%M}
  93. } {Oct 23,1992 15:00}
  94. test clock-4.7 {clock scan tests} {
  95.     set time [clock scan "Oct 23,1992 15:00 GMT"]
  96.     clock format $time -format {%b %d,%Y %H:%M GMT} -gmt true
  97. } {Oct 23,1992 15:00 GMT}
  98. test clock-4.8 {clock scan tests} {
  99.     set time [clock scan "Oct 23,1992 15:00" -gmt true]
  100.     clock format $time -format {%b %d,%Y %H:%M GMT} -gmt true
  101. } {Oct 23,1992 15:00 GMT}
  102. test clock-4.9 {clock scan tests} {
  103.     list [catch {clock scan "Jan 12" -bad arg} msg] $msg
  104. } {1 {bad switch "-bad": must be -base, or -gmt}}
  105. # The following two two tests test the two year date policy
  106. test clock-4.10 {clock scan tests} {
  107.     set time [clock scan "1/1/71" -gmt true]
  108.     clock format $time -format {%b %d,%Y %H:%M GMT} -gmt true
  109. } {Jan 01,1971 00:00 GMT}
  110. test clock-4.11 {clock scan tests} {
  111.     set time [clock scan "1/1/37" -gmt true]
  112.     clock format $time -format {%b %d,%Y %H:%M GMT} -gmt true
  113. } {Jan 01,2037 00:00 GMT}
  114.  
  115. # clock seconds
  116. test clock-5.1 {clock seconds tests} {
  117.     expr [clock seconds]+1
  118.     concat {}
  119. } {}
  120. test clock-5.2 {clock seconds tests} {
  121.     list [catch {clock seconds foo} msg] $msg
  122. } {1 {wrong # args: should be "clock seconds"}}
  123. test clock-5.3 {clock seconds tests} {
  124.     set start [clock seconds]
  125.     after 2000
  126.     set end [clock seconds]
  127.     expr "$end > $start"
  128. } {1}
  129.  
  130. # The following dates check certain roll over dates
  131. set day [expr 24 * 60 * 60]
  132. test clock-6.1 {clock roll over dates} {
  133.     set time [clock scan "12/31/1998" -gmt true]
  134.     clock format [expr $time + $day] -format {%b %d,%Y %H:%M GMT} -gmt true
  135. } {Jan 01,1999 00:00 GMT}
  136. test clock-6.2 {clock roll over dates} {
  137.     set time [clock scan "12/31/1999" -gmt true]
  138.     clock format [expr $time + $day] -format {%b %d,%Y %H:%M GMT} -gmt true
  139. } {Jan 01,2000 00:00 GMT}
  140. test clock-6.3 {clock roll over dates} {
  141.     set time [clock scan "2/28/2000" -gmt true]
  142.     clock format [expr $time + $day] -format {%b %d,%Y %H:%M GMT} -gmt true
  143. } {Feb 29,2000 00:00 GMT}
  144. test clock-6.4 {clock roll over dates} {
  145.     set time [clock scan "2/29/2000" -gmt true]
  146.     clock format [expr $time + $day] -format {%b %d,%Y %H:%M GMT} -gmt true
  147. } {Mar 01,2000 00:00 GMT}
  148.